Systems and methods for analyzing a motion based on images

ABSTRACT

A method for determining posture-related information of a subject using the subject&#39;s image is provided. The method comprises: determining, from a first image, first positions of a first pair of joints and a first body segment length of a first body segment associated with the first pair of joints; determining, from a second image, second positions of a second pair of joints and a second body segment length of a second body segment associated with the second pair of joints; determining, based on an algorithm that reduces a difference between the first and second body segment lengths, whether the first and second pairs of joints correspond to a pair of joints; If the first and second pairs of joints are determined to correspond to a pair of joints, determining, based on the second positions, information of a posture of the subject; and providing an indication regarding the information.

RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/363,804, filed Jul. 18, 2016, the contents of which are herebyincorporated by reference in their entirety.

TECHNICAL FIELD

This disclosure generally relates to motion analysis, and morespecifically relates to systems and methods for determining andanalyzing a motion of a subject based on images.

BACKGROUND

Motion analysis is an important part of the discipline of biomechanics,and can be associated with various applications such as, for example,balance assessment, force sensing measurement, sports science training,physio analysis, and fitness equipment operation, etc. Motion analysisis typically performed based on images, in which a system captures asequence of images of a subject (e.g., a human being) when the subjectis engaged in a specific motion. The system can then determine, based onthe sequence of images, the positions of various body segments of thesubject at a given time. Based on the positions information, the systemcan then determine a motion and/or a posture of the subject at thattime.

Current technologies provide various ways of performing image-basedmotion analysis. One approach is by tracking a motion of markers emittedby the subject. For example, the subject can wear a garment thatincludes a number of markers. The markers can be passive reflector(e.g., with VICON™ system) or active emitter of visible light orinfra-red light (e.g., with PhaseSpace™ system). The system can then usea plurality of cameras to capture, from different angles, a sequence ofimages of the markers when the subject is in a motion. Based on thesequence of images, as well as the relative positions between eachcamera and the subject, the system can determine the motion of thesubject by tracking the motion of the markers as reflected by images ofthe markers included in the sequence of images.

Another approach is by projecting a pattern of markers on the subjectand then tracking the subject's motion based on images of the reflectedpatterns. For example, Microsoft's Kinect™ system projects an infra-redpattern on a subject and obtains a sequence of images of the reflectedinfra-red patterns from the subject. Based on the images of thereflected infra-red patterns, the system then generates depth images ofthe subject. The system can then map a portion of the depth images ofthe subject to one or more body parts of the subject, and then track amotion of the depth images portions mapped to the body parts within thesequence of images. Based on the tracked motion of these depth imagesportions (and the associated body parts), the system can then determinea motion of the subject.

There are disadvantages for both approaches. With the VICON™ system, thesubject will be required to wear a garment of light emitters, andmultiple cameras may be required to track a motion of the markers in athree-dimensional space. The additional hardware requirementssubstantially limit the locations and applications for which the VICON™system is deployed. For example, the VICON™ system is typically notsuitable for use at home or in an environment with limited space.

On the other hand, the Kinect™ system has a much lower hardwarerequirement (e.g., only an infra-red emitter and a depth camera), and issuitable for use in an environment with limited space (e.g., at home).The accuracy of the motion analysis performed by the Kinect™ system,however, is typically limited, and is not suitable for applications thatdemand high accuracy of motion analysis.

SUMMARY

Consistent with embodiments of this disclosure, a method for determiningposture-related information of a subject using the subject's image isprovided. The method comprises: receiving a first image of a subject ina first posture; determining, from the first image, first positions of afirst pair of joints; determining, from the first positions, a firstbody segment length of a first body segment associated with the firstpair of joints; receiving a second image of the subject in a secondposture; determining, from the second image, second positions of asecond pair of joints; determining, from the second positions, a secondbody segment length of a second body segment associated with the secondpair of joints; determining, based on a relationship between the firstand second body segment lengths, whether the first and second pairs ofjoints correspond to a pair of joints of the subject; If the first andsecond pairs of joints are determined to correspond to a pair of jointsof the subject, determining, based on the second positions, informationof a posture of the subject; and providing an indication regarding theinformation of a posture of the subject.

Embodiments of the present disclosure also provide a system fordetermining posture-related information of a subject using the subject'simage. The system comprises: a memory that stores a set of instructions;and a hardware processor configured to execute the set of instructionsto: receive a first image of a subject in a first posture; determine,from the first image, first positions of a first pair of joints;determine, from the first positions, a first body segment length of afirst body segment associated with the first pair of joints; receive asecond image of the subject in a second posture; determine, from thesecond image, second positions of a second pair of joints; determine,from the second positions, a second body segment length of a second bodysegment associated with the second pair of joints; determine, based on arelationship between the first and second body segment lengths, whetherthe first and second pairs of joints correspond to a pair of joints ofthe subject; If the first and second pairs of joints are determined tocorrespond to a pair of joints of the subject, determine, based on thesecond positions, information of a posture of the subject; and providean indication regarding information associated with the posture of thesubject.

Embodiments of the present disclosure also provide a non-transitorycomputer readable medium storing instructions that are executable by oneor more processors to cause the one or more processors to execute theaforementioned method of determining posture-related information of asubject using the subject's image.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive of the embodiments of the present disclosure, asclaimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments of the presentdisclosure and, together with the description, serve to explain theembodiments. In the drawings:

FIG. 1 is an exemplary system for image-based motion analysis,consistent with embodiments of the present disclosure.

FIGS. 2A-D are diagrams illustrating exemplary data generated by theexemplary system of FIG. 1 for motion analysis, consistent withembodiments of the present disclosure.

FIG. 3 is a block diagram illustrating an exemplary system forimage-based motion analysis, consistent with embodiments of the presentdisclosure.

FIG. 4 is a diagram illustrating an exemplary application of a systemfor image-based motion analysis, consistent with embodiments of thepresent disclosure.

FIGS. 5A and 5B illustrate a flowchart of an exemplary method forimage-based motion analysis, consistent with embodiments of the presentdisclosure.

DETAILED DESCRIPTION

Reference will now be made in detail to the disclosed embodiments,examples of which are illustrated in the accompanying drawings. The samereference numbers are used throughout the drawings to refer to the sameor like parts.

These and other objects, features, and characteristics of the presentdisclosure, as well as the methods of operation and functions of therelated elements of structure and the combination of parts and economiesof manufacture, may become more apparent upon consideration of thefollowing description with reference to the accompanying drawing(s), allof which form a part of this specification. It is to be understood,however, that the drawing(s) are for the purpose of illustration anddescription only and are not intended as a definition of the limits ofthe invention. As used in the specification and in the claims, thesingular form of “a”, “an”, and “the” include plural referents unlessthe context clearly dictates otherwise.

Embodiments of the present disclosure provide a system for determiningposture-related information of a subject using the subject's image. Thesystem comprises: a memory that stores a set of instructions; and ahardware processor configured to execute the set of instructions to:receive a first image of a subject in a first posture; determine, fromthe first image, first positions of a first pair of joints; determine,from the first positions, a first body segment length of a first bodysegment associated with the first pair of joints; receive a second imageof the subject in a second posture; determine, from the second image,second positions of a second pair of joints; determine, from the secondpositions, a second body segment length of a second body segmentassociated with the second pair of joints; determine, based on arelationship between the first and second body segment lengths, whetherthe first and second pairs of joints correspond to a pair of joints ofthe subject; If the first and second pairs of joints are determined tocorrespond to a pair of joints of the subject, determine, based on thesecond positions, information of a posture of the subject; and providean indication regarding information associated with the posture of thesubject.

With embodiments of the present disclosure, a system can identify from afirst image of the subject when the subject is in a first posture, firstpositions of at least two joints associated with the at least one bodysegment, and a body segment length of the at least one body segment. Thesystem can also identify from a second image of the subject secondpositions of the at least two joints based on at least the body segmentlength. The system can then determine a second posture of the subjectbased on the second positions of the at least two joints. Since thesystem takes into account at least the prior-determined body segmentlength in determining a new position of the joints associated with thebody segment, the accuracy of tracking the joints positions as thesubject changes postures, as well as the accuracy of determining the newposture of the subject, can be improved.

FIG. 1 is a block diagram illustrating an exemplary system 100 forimage-based motion analysis, consistent with embodiments of the presentdisclosure. As shown in FIG. 1, system 100 includes an image capturingdevice 102 and a motion analytics system 104. Optionally, system 100 mayalso include a display 106 and an input device 108. System 100 can beused to capture one or more images of subject 101, and then performimage-based motion analysis of subject 101.

In some embodiments, image capturing device 102 includes one or morecameras configured to capture one or more images of subject 101. Thecameras can include, for example, a red-green-blue (RGB) camera, aninfra-red (IR) camera, a time-of-flight (TOF) camera, etc., all of whichconfigured to capture signals (e.g., visible light, IR, or any kind ofsignal) reflected off subject 101 to generate an image of the subject.If image capturing device 102 includes an IR camera or a TOF camera,image capturing device 102 may also include a signal emitter device(e.g., an IR emitter, an RF emitter, etc.) configured to project asignal onto subject 101 to generate the reflected signals. Both IRcamera and TOF camera can provide three-dimensional location informationof subject 101. Further, the subject may also wear a garment thatincludes one or more signal emitters, and the cameras may capture, aspart of the image, the signals emitted by the signal emitters.

Based on the image data captured by image capturing device 102, motionanalytics system 104 can determine a motion, or at least a posture at aparticular time, of subject 101. To determine the posture, analyticssystem 104 can determine, from the image data, the locations (e.g.,mid-points) of one or more body segments, as well as the orientations ofthe body segments, of the subject. The system can then determine aposture of the subject based on the orientations of the body segments.

In some embodiments, analytics system 104 can determine a location of abody segment by first identifying, from the image data, one or morejoints, and the locations of the joints. Reference is now made to FIGS.2A-2D, which illustrate exemplary data generated by system 100 formotion analysis. FIG. 2A illustrates an outline of subject 101 in animage 202. Image 202 can be captured by image capturing device 102 whensubject 101 is in a first posture (e.g., standing). From image 202 (or aset of images including image 202), motion analytics system 104 canidentify a number of joints of subject 101 including, for example,shoulder joint 204, elbow joint 206, wrist joint 207, hip joint 208,knee joint 210, and ankle joint 212. A pair of joints can also beassociated with a body segment. For example, shoulder joint 204 andelbow joint 206 can be associated with an upper arm segment 214, whileelbow joint 206 and wrist joint 207 can be associated with a lower armsegment 215.

There are various ways by which analytics system 104 can identify thejoints from image 202. For example, analytics system 104 can compare aportion of image 202 against a database of known images of joints, todetermine whether the portion of image 202 corresponds to a joint. Theknown images of joints may include data representing a certain patternof signals (IR, visible light, etc.) reflected from a joint. The knownimages of joints may also include data representing a certain pattern ofsignals emitted by signal emitters on a garment that covers the joint.If image capturing device 102 captures both an RGB image and an IR (orTOF) image, analytics system 104 can also align the RGB image with theIR image, and detect certain features from the RGB image to facilitatethe identification of the joints.

After determining a certain portion of the IR image includes an image ofa joint, motion analytics system 104 can then determine athree-dimensional location of the joint. For example, motion analyticssystem 104 can determine the coordinates of the joint on atwo-dimensional plane (e.g., defined by an x-axis and a y-axis which areorthogonal to each other) based on a location of the joint's image withrespect to the boundaries of the IR image. Further, if the IR imageincludes a depth image, motion analytics system 104 can also determine,based on the depth information provided in the depth image, thecoordinate on the third dimension (e.g., along a z-axis that isorthogonal to both of the x-axis and the y-axis).

After identifying the joints from image 202, and determining thethree-dimensional locations of these joints, analytics system 104 candetermine one or more body segments defined by a pair of the identifiedjoints. The determination of the body segments can be based on, forexample, determining a distance between a pair of joints and comparingthe distance against a threshold. The threshold can be set based on, forexample, an average body segment length (e.g., an average arm segmentlength, an average leg segment length, etc.), and based on the locationof the joints. If the distance exceeds the threshold, analytics system104 may determine that a pair of joints is not associated with a bodysegment; instead, each of the pair of joints probably is associated withdifferent body segments. As an illustrative example, analytics system104 may determine that a distance between shoulder joint 204 and hipjoint 208 exceeds an average arm segment length and may determine thatshoulder joint 204 and hip joint 208 are not associated with the samebody segment, but are associated with different body segments.

After identifying the joints and the associated body segments, motionanalytics system 104 may also determine the locations and orientationsof the body segments. A location of a body segment can be representedby, for example, a mid-point between the pair of joints associated withthe body segment. Further, the orientation of the body segments can alsobe represented in the form of a direction vector determined from, forexample, the relative locations of the pair of joints. For example,assuming that the three-dimensional coordinates of the pair of jointsare (x₁, y₁, z₁) and (x₂, y₂, z₂), the three-dimensional coordinates ofthe mid-point location of the body segment associated with the pair ofjoints can be determined based on the following equation:

$\left( {x_{mid},y_{mid},z_{mid}} \right) = \left( {\frac{x_{1} + x_{2}}{2},\frac{y_{1} + y_{2}}{2},\frac{z_{1} + z_{2}}{2}} \right)$

Further, the orientation of the body segment can also be represented bythe following direction vector:(

,

,

)=(x ₁ −x ₂){circumflex over (i)}+(y ₁ −y ₂){circumflex over (j)}+(z ₁−z ₂){circumflex over (k)}Here, î, ĵ, and {circumflex over (k)} are unit vectors, each of whichrepresents a vector associated with a predefined direction in a space.For example, each of these unit vectors can be orthogonal to each other,and that each of these unit vectors is aligned to a dimension in athree-dimensional space. For example, î can be aligned with the x-axis,ĵ can be aligned with the y-axis, and {circumflex over (k)} can bealigned with the z-axis.

Tables 220 of FIG. 2C illustrates examples of joints locations, each ofwhich is associated with a joint identifier. For example, as representedin the first image, the three-dimensional coordinates of joints A, B,and C are, respectively, (0.6, 0.6, 0.6), (0.8, 0.8, 0.8), and (1.0,0.9, 0.9). Moreover, table 230 of FIG. 2C illustrates examples of bodysegment lengths, locations (mid-points), and orientations of bodysegments associated with pairs of joints A, B, and C. For example, bodysegment A-B, which is associated with joints A and B, has a body segmentlength of 0.34, a mid-point coordinates of (0.7, 0.7, 0.7), and adirection vector of 0.2î+0.2ĵ+0.2{circumflex over (k)}. The data can bestored at, for example, a database coupled with motion analytics system104 (not shown in FIG. 1).

In some embodiments, the data in tables 220 and 230 can be generatedfrom a set of first images. For example, motion analytics system 104 mayreceive a set of first images of subject 101 at the first posture, andthen determine the values for the locations of joints A, B, and C, andbody segment lengths, locations, and directions of body segments A-B andB-C for each of the set of first images. Motion analytics system 104 canthen determine an average for each of the joints locations, bodysegments lengths, locations, and directions across the set of firstimages.

Besides capturing image 202 of the subject when the subject is in afirst posture, image capturing device 102 can also capture a secondimage (or a set of second images) of the subject when the subject is ina second posture. The capturing of the second image can occur before orafter the first image. FIG. 2B illustrates an outline of subject 101 inan image 242, when the subject is in a second posture (e.g., running).Motion analytics system 104 can determine, from image 242 (or a set ofimages including image 242), the second posture of subject 101. Thedetermination of the second posture can include identifying, from image242, the locations of the joints and the associated body segments, anddetermining the relative orientations of the body segments. Motionanalytics system 104 can identify the joints from the second image basedon the techniques described above (e.g., by comparing portions of image242 against a database of images associated with joints), and determinethe three-dimensional locations of the joints based on the image data.The lengths of the body segments associated with these joints, as wellas their mid-point locations and orientations, can also be calculatedbased on the three-dimensional locations of the joints as discussedabove.

Tables 260 of FIG. 2D illustrates examples of joints locations, each ofwhich is associated with a joint identifier. For example, as representedin the second image, the three-dimensional coordinates of joints D, E,and F are, respectively, (0.7, 0.7, 0.7), (0.9, 0.5, 0.5), and (1.1,0.6, 0.6). Moreover, table 270 of FIG. 2D illustrates examples of bodysegment lengths, locations (mid-points), and orientations of bodysegments associated with pairs of joints D, E, and F. For example, bodysegment D-E, which is associated with joints D and E, has a body segmentlength of 0.34, a mid-point coordinates of (0.8, 0.6, 0.6), and adirection vector of 0.2î-0.2ĵ-0.2{circumflex over (k)}. The data can bestored at, for example, a database coupled with motion analytics system104 (not shown in FIG. 1).

After identifying the joints from the second image, motion analyticssystem 104 can determine which pair of joints determined in the firstimage and which pair of joints determined in the same image areassociated with the same pair of joints of the subject. By associatingthe joints across different images, the system can track a motion of thejoints as reflected by images of the joints.

One way to associate the joints identified in different images (e.g.,between images 202 and 242) is by determining a distance between a pairof joints in image 242, and then comparing the distance against a bodysegment length determined from image 202. Because the correspondingpairs of joints identified in the images represent the same pairs ofjoints, and are associated with the same body segment, the distancebetween that corresponding pairs of joints, which reflect the length ofthe same body segment, should be equal (or substantially equal) to thesegment length. In one example, the initial association may consider thetwo as substantially equal if they are within approximately 5% to 30% ofeach other. But this range can vary and can be narrower or broaderdepending on various considerations, such as the accuracy required, thequality of the images, the data available, design choices, etc.

As an illustrative example, motion analytics system 104 may determinewhether shoulder joint 244 of image 242 corresponds to shoulder joint204 of image 202, and whether elbow joint 246 of image 242 correspondsto elbow joint 206 of image 202. Motion analytics system 104 may selectjoint 244 and joint 204 (and joint 246 with joint 206) for determiningwhether they represent the same joint based on, for example, adetermination that these joints are on the same side of the body. Motionanalytics system 104 can determine a length of an upper arm segment 242(e.g., based on a distance between shoulder joint 244 and elbow joint246), and compare that against the length of upper arm segment 214 fromimage 202 to determine a difference. Motion analytics system 104 canthen determine a value based on the difference (e.g., a square of thedifference, an absolute value of the difference, etc.). If the value isbelow a difference threshold, motion analytics system 104 can determinethat shoulder joint 244 of image 242 corresponds to shoulder joint 204of image 202, and that elbow joint 246 of image 242 corresponds to elbowjoint 206 of image 242.

In some embodiments, motion analytics system 104 may also consider otherjoints (and other associated body segment lengths) when determiningwhether two pairs of joints correspond to the same pair of joints of thesubject. For example, motion analytics system 104 may determine a set ofcorresponding joint pairs that, collectively, minimize the differencesbetween the body segment lengths determined from the second image (e.g.,image 242) and the body segment lengths determined from the first image(e.g., image 202), according to the equation below:min f(SL _(i))=(SL _(i) −SL _(i)*)²Here, SL_(i) can refer to a body segment length determined from thesecond image, SL_(i)* can refer to a body segment determined from thefirst image, and f (SL_(i)) represents a function that generates a valuebased on a square of difference between SL_(i) and SL_(i)*. Motionanalytics system 104 can apply an optimization algorithm, such assequential quadratic programming (SQP), the Newton method, or otheralgorithms, to determine a mapping between the joints represented in thefirst image and the joints represented in the second image thatcollectively minimize the output of f (SL_(i)), and minimize thedifference between the corresponding body segments determined fromdifferent images. As an illustrative example, the system can determine aset of corresponding joint pairs that minimize an output value of thefollowing summation function:

${f\left( {{SL}_{0},{SL}_{1},{\ldots\mspace{14mu}{SL}_{n}}} \right)} = {\sum\limits_{i = 0}^{n}\left( {{SL}_{i} - {SL}_{i}^{*}} \right)^{2}}$

In some embodiments, each term (SL_(i)−SL_(i)*)² can also be scaled by aweight in the summation function.

In some embodiments, motion analytics system 104 may also consider otherfactors in determining the mapping of the joints across images. Forexample, motion analytics system 104 may determine, for a particularmapping of the joints, the body segments associated with the joints forma certain angle. If that angle exceeds an angle threshold determinedbased on known maximum angle of a joint structure, motion analyticssystem 104 may determine that the mapping is invalid. As an illustrativeexample, assume that based on a particular mapping of the joints, motionanalytics system 104 determines that the upper arm segment 242 and lowerarm segment 245 represented in image 242 forms an interior angle 248. Ifinterior angle 248 is determined to exceed 180 degrees, which is themaximum angle allowed by an elbow joint, motion analytics system 104 candetermine that the body segment identified as upper arm segment 242 inimage 242 is not really an upper arm segment, and/or that the bodysegment identified as lower arm segment 245 is not really a lower armsegment. Accordingly, motion analytics system 104 can also determinethat the particular mapping corresponding to the identification of upperarm segment 242 and lower arm segment 245 from image 242 is to bediscarded. As a result, analytics system 104 can select a differentmapping for further analysis.

Based on the mapping relationship between the joints represented indifferent images, motion analytics system 104 can then track a motion(or change in locations and/or orientations) of the body segments. Forexample, referring to FIGS. 2C and 2D, motion analytics system 104 maydetermine that body segment D-E of FIG. 2D is associated with bodysegment A-B of FIG. 2C, and that body segment E-F of FIG. 2D isassociated with body segment B-C of FIG. 2C. Accordingly, motionanalytics system 104 may also determine that the mid-point and directioninformation of table 270 reflect a second posture involving the leftupper and lower arm segments of the subject.

With embodiments of the present disclosure, since the system takes intoaccount at least the prior-determined body segment length in determininga new position of the joints associated with the body segment, theaccuracy of tracking the joints positions as the subject changespostures, as well as the accuracy of determining the new posture of thesubject, can be improved. As discussed above, there are variousapplications for tracking a motion of a subject. Such applications caninclude, for example, balance assessment, force sensing measurement,sports science training, physio analysis, and fitness equipmentoperation, etc. With more accurate motion tracking analysis, theeffectiveness of these applications can be improved, and userexperiences can be improved as well.

FIG. 3 depicts an exemplary system 300, which can be configured asmotion analytics system 104 of FIG. 1. System 300 may include processinghardware 310, memory hardware 320, and interface hardware 330.

Processing hardware 310 may include one or more known processingdevices, such as a microprocessor, a microcontroller, etc. that areprogrammable to execute a set of instructions. Memory hardware 320 mayinclude one or more storage devices configured to store instructionsused by processing hardware 310 to perform functions related to theembodiments of the present disclosure. For example, memory hardware 320may store software instructions, such as application 350, that can beexecuted by processing hardware 310 to perform operations. Theembodiments of the present disclosure are not limited to separateprograms or computers configured to perform dedicated tasks.

Interface hardware 330 may include interfaces to I/O devices. Forexample, the I/O devices may include output devices such as a display, aspeaker, etc., while input devices may include a camera, a keyboard,etc. Interface hardware 330 may also include a network interface, whichmay include a wireless connection interface under various protocols(e.g., Wi-Fi, Bluetooth®, cellular connection, etc.), wired connection(e.g., Ethernet), etc. The network interface of interface hardware 330enables system 300 to control an operation of other devices, such as apiece of fitness equipment including corresponding network interfaces,based on a result of motion analysis.

System 300 may be configured to execute software instructions ofapplication 350, which may include one or more software modulesconfigured to provide various functionalities described in thisdisclosure. As shown in FIG. 3, application 350 includes a calibrationmodule 352, a joints locations tracking module 354, and an outputdetermination module 356.

Calibration module 352 can receive data of a first image (e.g., image202 of FIG. 2A, or a set of first images) of a subject in a firstposture, and then identify a set of joints from the first image basedon, for example, a comparison between portions of the first image andknown images of joints. The first image may be obtained by an IR camera,a TOF camera, etc., and may include depth information. After identifyingthe joints from the first image, calibration module 352 can determinethe three-dimensional coordinates of the joints based on the depthinformation, as well as locations of the joints as reflected within thefirst image. Calibration module 352 can also determine, based on thejoints locations, a set of body segments, each of which associated witha pair of joints. Calibration module 352 can also determine thelocations of the set of body segments (e.g., represented by themid-points of these body segments), and the lengths of the bodysegments. As discussed above, the joint locations and the body segmentlength information determined from the first image can be used as areference to improve the accuracy of tracking of changes in thelocations of the joints, based on which application 350 determines abody posture.

Joints locations tracking module 354 can receive data of a second image(e.g., image 242, or a set of second images) and track a motion of thejoints reflected by images of the joints in the second image. Jointslocations tracking module 354 can identify the joints from the secondimage (e.g., based on a comparison between portions of the second imageand known images of joints, or a set of second images), and determinethe three-dimensional coordinates of the joints from the second image.Joint location tracking module 354 can then determine a mappingrelationship between the joints identified from the second image and thejoints identified (by calibration module 352) from the first image, totrack a motion of the joints.

As discussed above, the determination of the mapping relationship mayinclude, for example, determining a first body segment length associatedwith a first pair of joints identified from the first image, andcomparing the first body segment length against a second body segmentlength associated with a second pair of joints identified from thesecond image, to generate a difference. The first and second pairs ofjoints can be determined to represent the same pairs of joints if, forexample, the difference (or a value generated based on the difference)is below a difference threshold. In some embodiments, the determinationof the mapping can also be determined based on an optimizationalgorithm, such as sequential quadratic programming (SQP), Newtonmethod, or other algorithms, to collectively minimize the differences ofthe body segment lengths associated with different pairs of joints.Based on the mapping of the joints, joints locations tracking module 354can also track the locations and orientations of the body segmentsassociated with the joints, and determine a body posture of the subjectaccordingly.

Output determination module 356 can generate additional informationbased on the body segments locations and orientations determined byjoints location tracking module 354. The additional information to begenerated can be application specific. For example, output determinationmodule 356 may determine centers of mass locations for at least some ofthe body segments. A center of mass location of a body segment can bedetermined based on, for example, an average distribution of mass of abody segment, and the location of the body segment. As an illustrativeexample, if the mass density of an arm segment, on average, is uniformwithin the segment, output determination module 356 may determine thatthe centers of mass locations of the arm segment is at the mid-point ofthe arm segment. Accordingly, the system can determine the locations ofthe centers of mass.

The center of mass locations information can be used for differentapplications. As an illustrative example, the centers of mass locationsinformation can be used to perform a balance assessment of a person whenthe person is in a certain posture in front of an image capturing device(e.g., image capturing device 102 of FIG. 1). The system may track,based on the images captured by the image capturing device, any change(and the extent of change) in the center of mass locations associatedwith one or more body segments of the person, to gauge the person'sability to maintain a certain posture within a certain duration of time.Based on the gauging result, the system can then perform the balanceassessment. The assessment can also include other factors, such as theage of the person, a state of the surface the person is standing on(e.g., whether it is a firm surface or a soft surface), the physicalcondition of the person (e.g., whether the person has visual contactwith the ground, etc.).

As another illustrative example, the centers of mass locationsinformation can be used to perform a balance error scoring system (BESS)for concussion assessment, in which a person can maintain a set ofstatic postures (e.g., double leg stance, single leg stance, tandemstance, etc.) in front of the image capturing device. The system candetermine the centers of mass locations of the person from the imagescaptured by the image capturing device, when the person is maintaining acertain posture, against a set of reference locations, to determine ifthere is any deviation, and the extent of deviation. The deviations mayindicate the effects of head injury (if any) on static posturalstability, and the system can provide a BESS assessment based on thecomparison result. The assessment can also include other factors, suchas the age of the person, a state of the surface the person is standingon (e.g., whether it is a firm surface or a soft surface), the physicalcondition of the person (e.g., whether the person has visual contactwith the ground, etc.).

As another illustrative example, the center of mass locationsinformation can also be used to perform a fall-risk assessment when theperson is undergoing a motion in front of the image capturing device.For example, by tracking the change in the locations of the centers ofmass (by tracking the change in the locations of the joints and theassociated body segments) based on images captured by the imagecapturing device, the system can determine a sequence of relativemovements of the body segments (e.g., the legs, the ankles, the feet,etc.) with respect to time. The system can then compare the sequenceagainst a reference associated with a certain risk of fall. Based on thecomparison result, the system can then determine a risk of fall for thatperson when the person undergoes that motion. The assessment can alsoinclude other factors, such as the age of the person, a state of thesurface the person is standing on (e.g., whether it is a firm surface ora soft surface), the physical condition of the person (e.g., whether theperson has visual contact with the ground, etc.).

As another illustrative example, the body posture result provided bysystem 300 can also be used in conjunction with the operation of fitnessequipment (e.g., a treadmill). Reference is now made to FIG. 4, whichillustrates an application of system 300 consistent with embodiments ofthe present disclosure. FIG. 4 illustrates a treadmill 400 which canoperate in conjunction with image capturing device 102 of FIG. 1 andsystem 300 of FIG. 3 (configured as motion analytics system 104 of FIG.1). For example, image capturing device 102 captures a plurality ofimages of subject 401 when the subject is running on treadmill 400.Based on the image data, calibration module 352 determines the locationsof a set of joints and body segments as represented by the dots andsticks, and joints location tracking module 354 track the locations ofthe set of joints and body segments as the subject 401 is running ontreadmill 400. Output determination module 356 may also determine theprobability of an event (e.g., subject 401 falling off treadmill 400)based on a state of posture of the subject 401 determined by jointslocation tracking module 354.

In addition to the state of posture, output determination module 356 mayfurther determine the locations of centers of mass of subject 401 basedon the locations and orientations of the body segments. For example,output determination module 356 may determine centers of mass locationsfor at least some of the body segments. A center of mass location of abody segment can be determined based on, for example, an averagedistribution of mass of a body segment, and the location of the bodysegment. As an illustrative example, if the mass density of an armsegment, on average, is uniform within the segment, output determinationmodule 356 may determine that the center of mass location of the armsegment is at the mid-point of the arm segment.

After determining the center of mass locations of at least some of thebody segments of subject 401, output determination module 356 can thendetermine the probability of an event accordingly, if such an event isrelated to the relative locations of the centers of mass of the subjectwith respect to treadmill 400. As an illustrative example, when subject401 is running on treadmill 400, the subject may lose his or her balance(e.g., because the subject cannot keep up with the treadmill) and falloff the treadmill. The detection of subject 401 being on the verge oflosing balance can be based on the posture of the subject, the locationof the subject's aggregate center of mass (and/or the locations of thecenters of mass of some of the user's body segments) relative to thetreadmill, etc., all of which can indicate that the subject is likely totilt (e.g. forward, backward, or sideway) and fall off the treadmill.

If output determination module 356 determines, based on theaforementioned information, that the probability of subject 401 fallingoff treadmill 400 exceeds a threshold, output determination module 356can generate an indicator signal to warn subject 401. The indicatorsignal can include, for example, a flash light and/or a warning sound tobe output by an output unit 402 on treadmill 400. Further, outputdetermination module 356 can also transmit a signal to variouscomponents of treadmill 400 (e.g., one or more motors that control thespeed and/or inclination angle of treadmill 400), to control treadmill400 to reduce the speed and/or to reduce the inclination angleaccordingly, to further reduce the probability of the user falling overthe treadmill.

Although FIG. 4 provides an illustration of output determination module356 operating in conjunction with a treadmill to improve safety, it isunderstood that output determination module 356 can also operate, basedon the posture information determined by joints locations trackingmodule 354, in conjunction with other types of equipment, such as weighttraining equipment with adjustable weights, an elliptical, an exercisebike, a bicycle, a recumbent bike, a physical therapy device, a stepper,etc. In these cases, based on the posture information (when the useroperates these other types of equipment), and based on a state ofoperation of these other types of equipment, output determination module356 can determine a probability of an event that can lead to an injury(e.g., falling off the bicycle, suffering a muscle tear by theadjustable weights, etc.), and can control the equipment to mitigate therisk of injury. For example, if output determination module 356 operatesin conjunction with a weight lifting machine, output determinationmodule 356 may adjust the weights being lifted by the user, or increasean assistant force, after determining that the user is in a state ofposture that can lead to injury.

In some embodiments, output determination module 356 may also provide anindication regarding information associated with the posture of thesubject. Such an indication can include, for example, a notification, awarning, etc. For example, using the example above, when the useroperates weight training equipment with adjustable weights, and outputdetermination module 356 determines that the user's posture satisfies acertain criteria (e.g., overextending a muscle such that the probabilityof injuring that muscle increases), output determination module 356 cangenerate a warning (e.g., a flash light, an audio output of a warningmessage, etc.) to bring to the subject's attention. In some cases,output determination module 356 can also generate an indication that thesubject's posture needs further evaluation, and the indication can betransmitted to an evaluator (e.g., a trainer, a physical therapist,etc.) to signal the evaluator to evaluate the posture of the subject.

In some embodiments, an indication can also be generated to signal thatthe subject is in a determined posture that does not need adjustment orevaluation. For example, a notification can be provided to the subjectindicating that the posture is appropriate. In some embodiments, theindication can include not providing any notification to the subjectwhen the posture of the subject is determined to be appropriate. Forexample, a light may flash only when the determined posture is improper,but would not flash if the determined posture is proper.

In some embodiments, output determination module 356 can also generateother application-specific information. For example, outputdetermination module 356 can track a change of posture of the user, anddetermine whether the subject is exercising within a proper range of atleast one of motion, posture, center of gravity, current or relativeangles of body segments, etc. Output determination module 356 may alsodetermine a training efficiency. For example, output determinationmodule 356 can track a change of posture of the user within a period oftime. Based on the change of posture, as well as the weight of the user(and/or any additional weights carried by the user), outputdetermination module 356 can estimate an amount of calories burned bythe user within that period of time, which can be used as an indicatorof training efficiency. Further, output determination module 356 canalso predict, based on a direction and a speed of movement of a bodysegment (e.g., by tracking a distance and a direction of movement by thejoints within a predetermined amount of time) a predicted location anddirection of the body segment, when the body segment (e.g., an armsegment) is lifting a weight. Based on the information, outputdetermination module 356 can also determine whether the user isexercising a particular group of muscles in a certain way when liftingthe weight, the determination of which can also be indicative ofefficiency of the training.

FIGS. 5A and 5B illustrate a flowchart of an exemplary method 500consistent with the present disclosure. Method 500 may be performed by asystem (e.g., system 300 of FIG. 3) that receives image data from acamera (e.g., an IR camera, a TOF camera, etc.).

After an initial start, the system receives a first image (or a set offirst images) of a subject when the subject is in at least a firstposture, in step S502. The first image can include an IR image, a TOFimage, etc., and can include information that enables the system todetermine three-dimensional coordinates of features identified from theimage. For example, the first image can be an IR depth image.

The system can proceed to step S504 to determine, from the first image(or the set of first images), a first data set associated with a firstpair of joints. The first data set may include data representingportions of the first image associated with the first pair of joints.The identification of the portions of the first image can be performedby, for example, comparing portions of the first image against knownimages of joints.

After determining the first data set in step S504, the system canproceed to step S506 to determine, based on the first data set, firstpositions of the first pair of joints, and a first body segment lengthof a first body segment associated with the first pair of joints. Insome embodiments, the first image can be an IR depth image, and thefirst positions are represented in three-dimensional coordinates. Thesystem can also determine, based on the first positions, a distancebetween the first pair of joints, and then determine, based on thedistance, a first body segment length of the first body segmentassociated with the first pair of joints, in step S506. The system mayalso determine, based on the first positions of the first pair ofjoints, a location and an orientation of the first body segment. In someembodiments, calibration module 352 of FIG. 3 is configured to performsteps S502 to S506 of method 500.

The system can then proceed to step S508 to receive a second image (or aset of second images) of the subject when the subject is in a secondposture. The system can then proceed to step S510 to determine, from thesecond image (or the set of second images), a second data set associatedwith a second pair of joints. The second data set may include datarepresenting portions of the second image associated with the secondpair of joints. The identification of the portions of the second imagecan be performed by, for example, comparing portions of the second imageagainst known images of joints.

After determining the second data set, the system can then proceed tostep S512 to determine, based on the second data set, second positionsof the second pair of joints, and a second body segment length of asecond body segment associated with the second pair of joints based onthe second positions, in a similar way as the determination of the firstpositions of the first pair of joints and the first body segment lengthof the first body segment in step S506.

After determining the second body segment length in step S512, thesystem can then determine, based on the second body segment length,whether the first pair of joints represented in the first image and thesecond pair of joints represented in the second image are associatedwith the same pair of joints of the subject. To make such adetermination, the system determines, in step S514, whether the secondbody segment length satisfies one or more first predetermined criteria.The first predetermined criteria may include, for example, a valuerelated to a difference between the first and second body segments(e.g., a square of the difference, an absolute value of the difference,etc.) is below a difference threshold.

If the system determines that the second body segment length does notsatisfy the one or more first predetermined criteria in step S514, thesystem can then proceed to step S518 to update the determination of thesecond positions. The updating may include, for example, identifying adifferent pair of joints from the second image and determining theirlocations as the updated second positions. The updating may alsoinclude, for example, adjusting the second positions determined in stepS512 by adding an offset.

After updating a determination of the second positions in step S518, thesystem can then determine whether the updated second positions satisfyone or more second predetermined criteria, in step S520. Thedetermination may include mapping a first set of joint pairs (includingthe first joint pairs) identified from the first image to a second setof joint pairs (including the second joint pairs) identified from thesecond image. The system can then determine whether the differencesbetween the body segment lengths associated with the first set of jointpairs and the body segment lengths associated with the second set ofjoint pairs are minimized, for determining whether the updated secondpositions satisfy one or more second predetermined criteria.

In some embodiments, the determination in step S520 can be based on anoptimization algorithm, such as SQP, the Newton method, etc., and can beiterative. For example, if the system determines that the updated secondpositions do not minimize the differences between the body segmentlengths determined from the first and second images (and therefore donot satisfy the one or more second predetermined criteria), in stepS520, the system can proceed back to step S518 to update thedetermination of the second positions (e.g., by selecting a differentjoint pairs, by adding a different offset, etc.). In some embodiments,the determination in step S520 can include other considerations, such asa maximum angle allowed by a joint structure. If two body segments,determined from the second image based on a set of second positions ofjoints, form an interior angle that exceeds the maximum angle allowed bya joint structure, the system may also discard the set of secondpositions and proceed back to step S518 to update the determination ofthe second positions.

On the other hand, if the system determines that the updated secondpositions satisfy the one or more second predetermined criteria (in stepS520), the system can proceed to step S522 and update the second bodysegment length based on the updated second positions. The system canthen proceed back to step S514 to determine if the updated second bodysegment satisfies the first predetermined criteria. In some embodiments,joints location tracking module 354 of FIG. 3 is configured to performsteps S508 to S514 of method 500.

On the other hand, if the system determines that the second body segmentlength satisfies the one or more first predetermined criteria in stepS514, the system can then proceed to step S516 of FIG. 5B and determinea location and an orientation of the second body segment based on thesecond positions. The system may then proceed to step S524 to determine,based on the locations and orientations of the body segments, thelocations of centers of mass associated with one or more body segmentsof the subject. The system may then proceed to step S526 to determine,based on the locations of the centers of mass, an output to the outputdevice. For example, the system may perform at least one of: balanceassessment, concussion assessment (e.g., based on BESS), fall-riskassessment, etc. The system may also determine that the probably of anevent (e.g., a user falling off a treadmill) exceeds a threshold basedon the locations of the centers of mass, and may generate a warningsignal or a control signal to the treadmill according to thedetermination.

Computer programs created on the basis of the written description andmethods of this specification are within the skill of a softwaredeveloper. The various programs or program modules may be created usinga variety of programming techniques. For example, program sections orprogram modules may be designed in or by means of Java, C, C++, assemblylanguage, or any such programming languages. One or more of suchspecialized software sections or modules may be integrated into acomputer system, computer-readable media, or existing communicationssoftware to perform the specialized functionality described above.

In exemplary embodiments, there is also provided a non-transitorycomputer readable storage medium including instructions executable by aprocessor for performing the above-described methods. For example, thenon-transitory computer-readable storage medium may be a ROM, a RAM, aCD-ROM, a magnetic tape, a flash memory, a cache, a register, a floppydisc, an optical data storage device, and the like. The non-transitorycomputer-readable storage medium and the processor may be a part of amotion analytics system (e.g., motion analytics system 104 of FIG. 1).The non-transitory computer-readable storage medium and the processorcan also be a part of a piece of equipment (e.g., treadmill 400 of FIG.4). The processor can execute the instructions stored in thenon-transitory computer-readable storage medium to execute, for example,method 500 of FIGS. 5A and 5B.

Moreover, while illustrative embodiments have been described herein, thescope includes any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations or alterations based on the presentdisclosure. The elements in the claims are to be interpreted broadlybased on the language employed in the claims and not limited to examplesdescribed in the present specification or during the prosecution of theapplication, which examples are to be construed as non-exclusive.Further, the steps of the methods may be modified in any manner,including by reordering steps or inserting or deleting steps. It isintended, therefore, that the specification and examples be consideredas example only, with a true scope and spirit being indicated by thefollowing claims and their full scope of equivalents.

What is claimed is:
 1. A method for determining posture-relatedinformation of a subject using the subject's image, the methodcomprising: receiving a first image of a subject in a first posture;determining, from the first image, first positions of a first pair ofjoints; determining, from the first positions, a first body segmentlength of a first body segment associated with the first pair of joints;receiving a second image of the subject in a second posture;determining, from the second image, second positions of a second pair ofjoints; determining, from the second positions, a second body segmentlength of a second body segment associated with the second pair ofjoints; determining, based on a relationship between the first andsecond body segment lengths, whether the first and second pairs ofjoints correspond to a pair of joints of the subject; If the first andsecond pairs of joints are determined to correspond to a pair of jointsof the subject, determining, based on the second positions, informationof a posture of the subject; and providing an indication regarding theinformation of a posture of the subject.
 2. The method of claim 1,wherein determining whether the first and second pairs of jointscorrespond to a pair of joints of the subject comprises: reducing adifference between the first and second body segment lengths based on anoptimization algorithm.
 3. The method of claim 2, wherein theoptimization algorithm includes at least one of: sequential quadraticprogramming, and Newton method.
 4. The method of claim 1, whereindetermining whether the first and second pairs of joints corresponds toa pair of joints of the subject comprises: determining, from the secondimage, a third pair of joints comprising one joint of the second pair ofjoints; determining a third body segment associated with the third pairof joints; and determining an angle formed between the second and thirdbody segments; wherein the first and second pairs of joints aredetermined to correspond to a pair of joints of the subject if the angleis within a threshold.
 5. The method of claim 1, wherein the informationof a posture of the subject comprises an estimated location of a centerof mass of the subject.
 6. The method of claim 5, wherein determiningthe information of a posture of the subject comprises: determining,based on the second image and segment densities of a plurality of bodysegments of the subject, the estimated center of mass of the subject. 7.The method of claim 1, wherein the indication indicates whether thesubject is at risk of injury at the second posture when operating apiece of equipment.
 8. The method of claim 7, wherein the piece ofequipment includes one of a treadmill, a weight training equipment withadjustable weights, an elliptical, an exercise bike, a bicycle, arecumbent bike, a physical therapy device, a stepper, an exercise ball,and a multi-function exercise equipment.
 9. The method of claim 1,wherein the indication indicates whether the subject maintains a posturethat is in conformance with a reference posture.
 10. The method of claim9, wherein the indication indicates whether the subject has concussion.11. A system for determining posture-related information of a subjectusing the subject's image, the system comprises: a memory that stores aset of instructions; and a hardware processor configured to execute theset of instructions to: receive a first image of a subject in a firstposture; determine, from the first image, first positions of a firstpair of joints; determine, from the first positions, a first bodysegment length of a first body segment associated with the first pair ofjoints; receive a second image of the subject in a second posture;determine, from the second image, second positions of a second pair ofjoints; determine, from the second positions, a second body segmentlength of a second body segment associated with the second pair ofjoints; determine, based on a relationship between the first and secondbody segment lengths, whether the first and second pairs of jointscorrespond to a pair of joints of the subject; If the first and secondpairs of joints are determined to correspond to a pair of joints of thesubject, determine, based on the second positions, information of aposture of the subject; and provide an indication regarding informationassociated with the posture of the subject.
 12. The system of claim 11,wherein determining whether the first and second pairs of jointscorrespond to a pair of joints of the subject comprises the hardwareprocessor being configured to execute the set of instructions to: reducea difference between the first and second body segment lengths based onan optimization algorithm.
 13. The system of claim 12, wherein theoptimization algorithm includes at least one of: sequential quadraticprogramming, and Newton method.
 14. The system of claim 11, whereindetermining whether the first and second pairs of joints corresponds toa pair of joints of the subject comprises the hardware processor beingconfigured to execute the set of instructions to: determine, from thesecond image, a third pair of joints comprising one joint of the secondpair of joints; determine a third body segment associated with the thirdpair of joints; and determine an angle formed between the second andthird body segments; wherein the first and second pairs of joints aredetermined to correspond to a pair of joints of the subject if the angleis within a threshold.
 15. The system of claim 11, wherein theinformation of a posture of the subject comprises an estimated locationof a center of mass of the subject.
 16. The system of claim 15, whereindetermining the information of a posture of the subject comprises thehardware processor configured to execute the set of instructions to:determine, based on the second image and segment densities of aplurality of body segments of the subject, the estimated center of massof the subject.
 17. The system of claim 11, wherein the indicationindicates whether the subject is at risk of injury at the second posturewhen operating a piece of equipment.
 18. The system of claim 17, whereinthe piece of equipment includes one of a treadmill, a weight trainingequipment with adjustable weights, an elliptical, an exercise bike, abicycle, a recumbent bike, a physical therapy device, a stepper, anexercise ball, and a multi-function exercise equipment.
 19. The systemof claim 11, wherein the indication indicates whether the subjectmaintains a certain posture within a predetermined amount of time. 20.The system of claim 11, wherein the indication indicates whether thesubject maintains a posture that is in conformance with a referenceposture.
 21. The system of claim 19, wherein the indication indicateswhether the subject has concussion.
 22. The system of claim 20, whereinthe indication indicates whether the subject has concussion.
 23. Thesystem of claim 11, wherein the information of a posture of the subjectcomprises at least one of: a current posture, a current state ofbalance, and a predicted state of balance.
 24. The system of claim 11,wherein determining information of a posture of the subject comprisesthe hardware processor configured to execute the set of instructions to:determine, based on the second positions, at least one of a location andan orientation of the second body segment.
 25. The system of claim 12,wherein the difference comprises a weighted difference.
 26. The systemof claim 11, wherein the second image is included in a second image setthat comprises two or more separate images of the subject at differenttimes.
 27. The system of claim 11, wherein at least one of the firstpositions and the second positions are determined based on locationinformation of markers configured to identify at least one of bodysegments and joints of the subject.
 28. The system of claim 11, whereinthe information of a posture of the subject comprises at least one of adirection of a motion of the subject and a speed of the motion of thesubject.
 29. The system of claim 11, wherein the information of aposture of the subject enables a determination of a training efficiency.30. The system of claim 11, wherein the indication indicates, when thesubject is exercising, whether the subject is exercising within a properrange of at least one of motion, posture, center of gravity, current orrelative angles of body segments of the subject, load, speed, staticbalance, dynamic balance, and time period.
 31. A non-transitory computerreadable medium storing instructions that are executable by one or moreprocessors to cause the one or more processors to execute a method ofdetermining posture-related information of a subject using the subject'simage, the method comprising: receiving a first image of a subject in afirst posture; determining, from the first image, first positions of afirst pair of joints; determining, from the first positions, a firstbody segment length of a first body segment associated with the firstpair of joints; receiving a second image of the subject in a secondposture; determining, from the second image, second positions of asecond pair of joints; determining, from the second positions, a secondbody segment length of a second body segment associated with the secondpair of joints; determining, based on a relationship between the firstand second body segment lengths, whether the first and second pairs ofjoints correspond to a pair of joints of the subject; If the first andsecond pairs of joints are determined to correspond to a pair of jointsof the subject, determining, based on the second positions, informationof a posture of the subject; and providing an indication regarding theinformation of a posture of the subject.
 32. The medium of claim 31,wherein determining whether the first and second pairs of jointscorrespond to a pair of joints of the subject comprises the instructionsexecutable by the one or more processors to perform: reducing adifference between the first and second body segment lengths based on anoptimization algorithm.
 33. The medium of claim 32, wherein theoptimization algorithm includes at least one of: sequential quadraticprogramming, and Newton method.
 34. The medium of claim 31, whereindetermining whether the first and second pairs of joints corresponds toa pair of joints of the subject comprises the instructions executable bythe one or more processors to perform: determining, from the secondimage, a third pair of joints comprising one joint of the second pair ofjoints; determining a third body segment associated with the third pairof joints; and determining an angle formed between the second and thirdbody segments; wherein the first and second pairs of joints aredetermined to correspond to a pair of joints of the subject if the angleis within a threshold.
 35. The medium of claim 31, wherein theinformation of a posture of the subject comprises an estimated locationof a center of mass of the subject.
 36. The medium of claim 35, whereindetermining the information of a posture of the subject comprises theinstructions executable by the one or more processors to perform:determining, based on the second image and segment densities of aplurality of body segments of the subject, the estimated center of massof the subject.
 37. The medium of claim 31, wherein the indicationindicates whether the subject is at risk of injury at the second posturewhen operating a piece of equipment.
 38. The medium of claim 37, whereinthe piece of equipment includes one of a treadmill, a weight trainingequipment with adjustable weights, an elliptical, an exercise bike, abicycle, a recumbent bike, a physical therapy device, a stepper, anexercise ball, and a multi-function exercise equipment.
 39. The mediumof claim 31, wherein the indication indicates whether the subjectmaintains a posture that is in conformance with a reference posture. 40.The medium of claim 39, wherein the indication indicates whether thesubject has concussion.